package com.kingyun.gpsinspection.purificationservice.facade.service.tdm;

import com.kingyun.gpsinspection.purificationservice.facade.model.jsm.EmployeeVo;
import com.kingyun.gpsinspection.purificationservice.facade.model.jsm.RedisValue;
import com.kingyun.gpsinspection.purificationservice.facade.model.tdm.*;

/**
 * Created by liyi on 2016/12/14.
 */
public interface ChangeManageService {
    /**
     *  保存变更管理信息
     *
     * @param employeeVo
     * @param changeManage
     * @return
     * @throws Exception
     */
    ChangeManage saveChangeManage(RedisValue redisValue, EmployeeVo employeeVo, ChangeManage changeManage, String uploadFiles, String deletedFiles);

    /**
     *  根据流程ID获取变更管理信息
     * @param piid
     * @return
     * @throws Exception
     */
    ChangeManageVo findChangeManage(String piid)throws Exception;

    /**
     * 根据变更管理ID修改环节名称以及审批意见
     * @param taskLink
     * @param projectType
     * @param projectLevel
     * @param node
     * @param changeManageId
     * @return
     * @throws Exception
     */
    int updateById(TaskLink taskLink, Short projectType, Short projectLevel, Short node, String changeManageId) throws Exception;

    /**
     *  处理流程
     *
     * @param employeeVo
     * @param changeManage
     * @param taskLink
     * @return
     */
    int disposeTask(RedisValue redisValue, EmployeeVo employeeVo, ChangeManage changeManage, TaskLink taskLink);

    /**
     * 根据主键查询变更管理
     * @return
     */
    ChangeManageVo queryByPrimaryKey(String id);
}
